For many years, portable computers have been getting smaller and smaller. The principal size-limiting component in the effort to produce a smaller portable computer has been the keyboard. If standard typewriter-size keys are used, the portable computer must be at least as large as the keyboard. Miniature keyboards have been used on portable computers, but the miniature keyboard keys have been found to be too small to be easily or quickly manipulated by a user.
Incorporating a full-size keyboard in a portable computer also hinders true portable use of the computer. Most portable computers cannot be operated without placing the computer on a flat work surface to allow the user to type with both hands. A user cannot easily use a portable computer while standing or moving. In the latest generation of small portable computers, called Personal Digital Assistants (PDAs), companies have attempted to address this problem by incorporating handwriting recognition software in the PDA. A user may directly enter text by writing on a touch-sensitive panel or screen. This handwritten text is then converted by the recognition software into digital data. Unfortunately, in addition to the fact that printing or writing with a pen is in general slower than typing, the accuracy and speed of the handwriting recognition software has to date been less than satisfactory. To make matters worse, today's handheld computing devices which require text input are becoming smaller still. Recent advances in two-way paging, cellular telephones, and other portable wireless technologies has led to a demand for small and portable two-way messaging systems, and especially for systems which can both send and receive electronic mail (“e-mail”).
It would therefore be advantageous to develop a keyboard for entry of text into a computer device that is both small and operable with one hand while the user is holding the device with the other hand. Prior development work has considered use of a keyboard that has a reduced number of keys. As suggested by the keypad layout of a touch-tone telephone, many of the reduced keyboards have used a 3-by-4 array of keys. A number of the keys in the array contain multiple characters. There is therefore ambiguity in a sequence of keys entered by a user, since each keystroke may indicate one of several letters. Several approaches have been suggested for resolving the ambiguity of the keystroke sequence.
One suggested approach for unambiguously specifying characters entered on a reduced keyboard requires the user to enter two or more keystrokes to specify each letter. The keystrokes may be entered either simultaneously (chording) or in sequence (multiple-stroke specification). Neither chording nor multiple-stroke specification has produced a keyboard having adequate simplicity and efficiency of use. Multiple-stroke specification is inefficient, and chording is complicated to learn and use.
Other suggested approaches for determining the correct character sequence that corresponds to an ambiguous keystroke sequence are summarized in the article “Probabilistic Character Disambiguation for Reduced Keyboards Using Small Text Samples,” published in the Journal of the International Society for Augmentative and Alternative Communication by John L. Arnott and Muhammad Y. Javad (hereinafter the “Arnott article”). The Arnott article notes that the majority of disambiguation approaches employ known statistics of character sequences in the relevant language to resolve character ambiguity in a given context. That is, existing disambiguating systems statistically analyze ambiguous keystroke groupings as they are being entered by a user to determine the appropriate interpretation of the keystrokes. The Arnott article also notes that several disambiguating systems have attempted to use word-level disambiguation to decode text from a reduced keyboard. Word-level disambiguation disambiguates entire words by comparing the sequence of received keystrokes with possible matches in a dictionary after the receipt of an unambiguous character signifying the end of the word. The Arnott article discusses many of the disadvantages of word-level disambiguation. For example, word-level disambiguation oftentimes fails to decode a word correctly, because of the limitations in identifying unusual words and the inability to decode words that are not contained in the dictionary. Because of the decoding limitations, word-level disambiguation does not give error-free decoding of unconstrained text with an efficiency of one keystroke per character. The Arnott article therefore concentrates on character level disambiguation rather than word-level disambiguation, and indicates that character level disambiguation appears to be the most promising disambiguation technique.
Disambiguating an ambiguous keystroke sequence continues to be a challenging problem. One significant challenge facing any application of word-level disambiguation is designing a keyboard that enables the system to efficiently disambiguate input keystroke sequences. With an ordinary typewriter or word processor, each keystroke represents a unique character. With word-level disambiguation, since each keystroke represents multiple characters, any sequence of keystrokes may match multiple words or word stems. It would therefore be desirable to develop a disambiguating system that minimizes the ambiguity of entered keystrokes, and also maximizes the efficiency with which the user can resolve any ambiguity which does arise during text entry.
This means that the arrangement of letters on keys should tend to minimize the average number of word choices that correspond to a given keystroke sequence, and in particular to minimize the number of instances where two different frequently occurring words correspond to the same keystroke sequence. Optimizing a keyboard arrangement according to this criterion tends to result in arrangements where letters appear to have been randomly grouped on the keys. Thus, although such arrangements are ultimately efficient to use, they are difficult to learn, and may not be acceptable to many users due to their unfamiliar appearance.
The alternative is to design keyboards based on organizing letters according to a common or well known arrangement of the letters or syllables of a language. This results in a keyboard with an appearance which is more familiar to the general user, and thus tends to be more acceptable and easier to learn. However, this goal can conflict with the goal of designing a keyboard that increases the efficiency with which key sequences can be disambiguated.
In order to create an effective word-level disambiguating reduced keyboard input system for Hindi, Bengali, Tamil, and similar Indic languages, a keyboard must be designed that meets both of these criteria. First, the arrangement of the symbols of the language must be easy for a native speaker to understand and learn to use. Second, the arrangement must not result in so much ambiguity that the efficiency of the reduced keyboard system is impaired.